package com.gjintel.business.report.service.Impl;

import java.math.BigDecimal;
import java.sql.Date;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.gjintel.business.proj.model.DepositReturn;
import com.gjintel.business.proj.model.ProjectInfo;
import com.gjintel.business.report.dao.IReportDao;
import com.gjintel.business.report.service.IReportService;
import com.gjintel.framework.register.model.DepositCategory;
import com.gjintel.sdk.base.dao.Page;
import com.gjintel.sdk.base.dao.Sort;
import com.gjintel.sdk.base.service.impl.BaseServiceImpl;
@SuppressWarnings("unchecked")
@Service("reportService")
public class ReportServiceImpl  extends BaseServiceImpl implements IReportService{
	
	@Autowired
	private IReportDao reportDao; 

	@Override
	public List<DepositCategory> list() {
		
		return reportDao.list();
	}
	

	@Override
	public List<DepositReturn> getDepositList(String projectName , String code,Page page,Integer depositType, String projectType) {
			
		return reportDao.getDepositList(projectName,code,page,depositType,projectType);
	}
	
	@Override
	public List<ProjectInfo> findReportByProjectCase(ProjectInfo project, Page page, Sort sort, Date startTime,
			Date stopTime,Double startMoney,Double endMoney) {
		return reportDao.findReportByProjectCase(project,page,sort,startTime,stopTime, startMoney, endMoney);
	}


	@Override
	public List<DepositReturn> getDepositListExport(String projectName, String code,Integer depositType, String projectType) {
		
		return reportDao.getDepositListExport(projectName,code,depositType,projectType);
	}

	@Override
	public BigDecimal findDepositAmountByDate(Integer depositType,Integer status, Date startTime, Date stopTime,String className) {
		return this.reportDao.findDepositAmountByDate(depositType,status,startTime,stopTime,className);
	}

	@Override
	public List findDepositListByDate(Page page,Integer depositType,Integer status, Date startTime, Date stopTime,String className) {
		return this.reportDao.findDepositListByDate(page,depositType,status, startTime, stopTime, className);
	}


	@Override
	public List findReportByProjectList(ProjectInfo project, Page page, Sort sort, Date startTime, Date stopTime) {
		return this.reportDao.findReportByProjectList(project,page,sort,startTime,stopTime);
	}
	
	@Override
	public List findReportByNoOpentBidProjectList(ProjectInfo project, Page page, Sort sort, Date startTime, Date stopTime) {
		return this.reportDao.findReportByNoOpentBidProjectList(project,page,sort,startTime,stopTime);
	}

}
